草庐IT

TypeScript 条件语句

全部标签

javascript - 为什么 javascript 生成器函数的 yield 语句返回 .next() 的参数?

我偶然发现了generatorfunctionsonMDN令我困惑的是以下示例:function*logGenerator(){console.log(yield);console.log(yield);console.log(yield);}vargen=logGenerator();//thefirstcallofnextexecutesfromthestartofthefunction//untilthefirstyieldstatementgen.next();gen.next('pretzel');//pretzelgen.next('california');//calif

javascript - chai-as-promised:单个测试中的多个 expect 语句

我正在使用chai-as-promised测试一些promise。我的问题是我不确定如何在单个测试中有多个expect语句。为了让expect().to.be.fulfilled正常工作,我需要返回它,如下所示:it('test',()=>{returnexpect(promise).to.be.fulfilled}...或者使用notify,像这样:it('test',(done)=>{expect(promise).to.be.fulfilled.notify(done)}当我有另一件事需要检查时,例如某个函数被调用时,问题就来了,如下所示:it('test',(done)=>{v

javascript - Karma 未运行在 karma-webpack 中具有 "import"语句的测试

我有一些测试文件,其中包含我想针对我的应用运行的测试。我正在尝试使用karma、karma-webpack、karma-babel-preprocessor、karma-chrome-launcher和jasmine在我的测试中。我的应用程序依赖于很多东西,包括backbone、marionette等。我的应用程序是使用webpack构建的,我正在尝试使用>webpack将我的文件捆绑在一起进行测试。(我最初想看看我是否可以跳过这一步,即简单地import一个要测试的文件,但似乎这是不可能的。)我的测试脚本看起来像package.json(脚本部分)"test":"./node_mod

javascript - Vuejs Router,JavaScript代码的条件加载

我正在将VueRouter集成到我的应用程序中。在我的一个组件中,我正在使用一些js代码,我不想在另一条路线上加载或出现这些代码?例子compA.vueconsole.log('hello')app.com/a->IshouldseeconsolelogHello.app.com/b->whenIaccessthisIshouldnotseehellointheconsole.编辑:根据回复进行澄清。我有两个组件,每个组件都有自己的生命周期Hook,所以我不需要设置逻辑来触发基于组件的函数...如果用户访问compA并且函数触发并产生一些副作用,当我访问compB时,我希望没有类似于传

javascript - Firebase 函数不记录 "console.log()"语句

我一直在为下面的函数而苦苦挣扎,它的console.log()语句没有出现在Firebase日志中。如果我删除所有以db.collection调用开头的内容,顶部的console.log()语句就会显示出来,但是一旦我添加了db.collection调用,没有console.log()语句出现在Firebase的日志中。我对JavaScript不是很熟悉(我通常使用Python进行后端编程),所以这可能是Promises工作方式的问题。我现在正在研究这个。知道发生了什么吗?exports.purchaseItem=functions.https.onCall((data,context

javascript - 条件 .then 执行

如何有条件地跳过promise而不做任何事情。我创建了一个嵌套的promise,我有7个.then's。但有条件地,我需要跳过几个.then并且在那个block中什么都不做,如何实现这个?我的完整代码:constadmin=require('firebase-admin');constrp=require('request-promise');module.exports=function(req,res){constphone=String(req.body.phone).replace(/[^\d]/g,'');constamount=parseInt(req.body.amoun

javascript - 使用 node.js async forEachSeries 时是否有与 'continue' 等效的语句?

我正在使用node.js异步包,特别是forEachSeries,根据从数组中提取的参数发出一系列http请求。在每个请求的回调中,我有一些if/else语句来响应不同类型的响应。//ThisisthecallbackofaGETrequestinsideofaforEachSeriesfunction(error,response){if(response.results){//Dosomethingwithresults}elseif(!response.results){//Wouldliketouseacontinuestatementhere,but//thisisnotin

javascript - 继续检查条件而不是一次性检查 jquery/js

我想实现的是当鼠标没有悬停在menu3上时,系统会不断检查aboutMenu是否悬停,如果是,则提示'h',否则提示'nh'。问题是当鼠标离开menu3时只检查一次,如何解决这个问题?谢谢。$('#menu3').live('mouseout',function(){$("#aboutMenu").hover(function(){$(this).data("hovered",true);},function(){$(this).data("hovered",false);});if($("#aboutMenu").data("hovered")){alert('h');}else{a

javascript - 使用 Typescript 和 requirejs 时我应该把我的 Knockout.js 扩展放在哪里

我正在将一些javascript代码移植到typescript并使用requirejs。我有一个config.ts://fileconfig.ts//////require.config({baseUrl:'/scripts/App/',paths:{'jQuery':'/scripts/jquery-1.9.1','ko':'/scripts/knockout-2.2.1','signalR':"/scripts/jquery.signalR-1.0.1",},shim:{jQuery:{exports:'$'},signalR:{deps:["jQuery"]},ko:{deps:

javascript - 有条件的 promise

在我的脚本中,我需要检索字典以将编码值转换为名称:$.ajax({//retrievedictionary}).done(function(dictionary){//convertencodedvaluesintonames}).done(function(){//runmyapplication});但是,有时字典已经被另一个应用程序加载,在这种情况下我不需要ajax调用:if(dictionary){//convertencodedvaluesintonames//runmyapplication}else{$.ajax({//retrievedictionary}).done(